package com.hedl.practice.diyJava.network_programming.rmi;

import com.hedl.practice.diyJava.network_programming.rmi.service.WorldClock;

import java.rmi.NotBoundException;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
import java.time.LocalDateTime;

/**
 * RMI要求服务器和客户端共享同一个接口，因此我们要把WorldClock.java这个接口文件复制到客户端，然后在客户端实现RMI调用：
 */
public class Client {
    public static void main(String[] args) throws RemoteException, NotBoundException {
        //连接到服务器localhost,端口1099
        Registry registry = LocateRegistry.getRegistry("localhost",1099);
        //查找名称为"WorldClock"的服务并强制转型为WorldClock接口
        WorldClock worldClock = (WorldClock) registry.lookup("WorldClock");
        //正常调用接口方法
        LocalDateTime now = worldClock.getLocalDateTime("Asia/Shanghai");
        //打印调用结果
        System.out.println(now);
    }
}
